package collection1;

import java.util.*;

/**
 * JDK1.8之后退出了新特性：Lambda表达式
 * 作用：可以用更简洁的代码实现匿名内部类
 * 规则：
 * 1）不是任何匿名内部类都可以转换lambda表达式
 * 2）lambda表达式对接口的要求：只能是函数式接口
 * 3）函数式接口：接口中要求实现类必须重写的方法只有一个
 * 语法：
 * （参数列表）->{
 *     方法体
 * }
 */
public class LambdaDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        Collections.sort(list,(o1,o2) ->{
                return o1.length()-o2.length();

        });

        Collections.sort(list, new Comparator<String>() {
            public int compare(String o1, String o2) {
                return o1.length()-o2.length();
            }
        });
        Collections.sort(list,(o1,o2) -> o1.length()-o2.length());

        Collections.sort(list,(o1,o2)->o1.length()-o2.length());
        Collections.sort(list,(o1,o2) -> o1.length()-o2.length());
        Collections.sort(list,(o1,o2) -> o1.length()-o2.length());

    }
}
